草庐IT

Android AsyncTask 内存泄漏

全部标签

PHP:生产服务器上的内存使用率非常高,而本地计算机上的内存使用率很低

我创建了一个PHP脚本,它从网站上抓取一些特定数据,查找相关信息并将其存储在数据库中。该脚本在本地机器上运行良好,但是当我使用cron作业在实时服务器上运行它时,它在执行10次数据库插入后停止说“fatalerror:/home/content/36/78632936/html/scripts/simple_html_dom.php中允许的67108864字节内存耗尽(试图分配35字节)809”我在本地使用get_memory_peak_usage()检查了相同的脚本,最大使用量约为8MB。我对为什么实时机器上的内存使用率高得惊人感到困惑。任何帮助将不胜感激。我的代码一瞥:DB_tab

类结构中的 PHP 内存泄漏

希望有人能帮我解决这个问题,有点难过。因此对图像和多边形进行了一些处理,但出现了奇怪的内存泄漏。所以我有一个名为canvas的包装器类,它只包含我的图像资源,另一个名为polygon的包装器类用于管理和操作另一个名为vertices的类,它只是x和y协调器数组的容器。非常直接。如果您使用此方法,即使在取消设置变量之后,图像资源的内存也不会返回,但如果您通常使用new关键字创建一个Polygon实例并取消设置它,那就没问题了。canvas类还有另一个称为destroy的方法:imagedestroy($this->canvas);所以使用这个:$img=newImage_Canvas($

PHP XML 内存泄漏?

我们的一个定期运行的脚本存在严重的内存泄漏,该脚本会迅速耗尽服务器上的可用内存。尽管进行了许多小时的研究和实验,但我什至无法对它产生任何影响。代码如下:echo'1:'.memory_get_usage()."\n";ini_set('memory_limit','1G');echo'2:'.memory_get_usage()."\n";$oXML=newDOMDocument();echo'3:'.memory_get_usage()."\n";$oXML->load('feed.xml');#556MBfileecho'4:'.memory_get_usage()."\n";$x

使用图像时 PHP 内存泄漏

我在尝试使用PHP处理图像时遇到了麻烦。图像很好......大。总尺寸为23Mo的高清图片(36MP分辨率)。我正在对这张照片进行某些处理,例如调整它的大小或将其转换为灰度。问题是,当我在终端上使用htop查看内存使用情况时,我可以看到apache正在使用内存(略多于140Mb),但在图像处理结束时没有释放它。我一个一个删除了每个图像处理函数,现在只有这3行简单的代码,但漏洞仍然存在:$image=imagecreatefromstring(file_get_contents($imageFullPath));imagedestroy($image);unset($image);有人知

php - 'safe' json_decode( ,,, ) 以防止耗尽内存

在我的应用程序中,我经常调用一个返回json字符串的外部api。$url='api.example.com/xyz';$blah=json_decode(file_get_contents($url));但在某些情况下我得到PHPFatalerror:Allowedmemorysizeofxxxbytesexhausted(triedtoallocate32bytes)in...我无法控制外部API,当然我可以增加php的内存,但这有一些缺点。1-无论我设置什么尺寸,都可能仍然太小。2-如果我将内存大小设置为“无限”,那么我可能会冒着杀死我的服务器的风险。理想情况下,我想在调用json

php - PDOExeption SQLSTATE[HY001] 无法分配足够的内存

当我从php-fpm运行以下代码时:$connect=newPDO("dblib:host=mssql.dev.gm.local;dbname=GeoData","username","password");try{$s=$connect->query('[RU].GetTownInfo4368');var_dump($s->fetch());}catch(Exception$e){var_dump($e->getMessage());}我得到异常:PDOExeptionSQLSTATE[HY001]Unabletoallocatesufficientmemory但是当我从php命令行

memcached - 无法将值存储到内存缓存中

我在suse10.1上运行apache+php+memcache。我可以将Ok连接到端口11211上的memcached,但我不能执行getVersion、add、get等错误信息:[ThuJan2114:38:152010][error][client]PHPNotice:Memcache::add()[function.Memcache-add]:Serverlocalhost(tcp11211)failedwith:Failedreadinglinefromstream(0)in/testmem/index.phponline13我该如何调试? 最佳答

php - Zend_Db_Table_Row 内存泄漏?

这是我的代码:createRow();$row->name='Test'.$i;$row->save();unset($row);echo(memory_get_usage()-$start)."\n";}这是我看到的:90664933849605698728101400这不是内存泄漏吗?当我在一个脚本中有500个对象要插入数据库时​​,我遇到了内存溢出。谁能帮忙? 最佳答案 如果您在插入500而不是5时遇到内存错误,那确实是泄漏(也可能是一些缓存)。如果内存使用率反而上升和下降,这是正常的:garbagecollector正在再次

php - PHP 内存泄漏的常见原因是什么?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:FindingcauseofmemoryleaksinlargePHPstacksPHP内存泄漏的常见原因有哪些?我正在寻找毫无戒心的PHP程序员通常会导致内存泄漏的事情。

command-line-interface - 在不使用 foreach 循环的情况下迭代关联数组并导致内存泄漏

我正在开发一个无限循环运行的命令行脚本。一段时间后,它会导致段错误,我认为这是由内存泄漏引起的。我想我是对的,因为在查看ps命令产生的结果后,脚本使用的内存似乎在脚本崩溃之前不断增加。我找到了thisarticle,它指出命令行php中内存泄漏的一个可能原因是使用foreach循环,它创建永远不会取消设置的数组副本。经过一些研究,情况似乎是这样。所以我决定用它们的for等效项替换所有foreach循环。第一个问题-我的推理是否正确?第二个-如果我有一个要迭代的关联数组并且我想知道当前键怎么办?我能想到的一种方法是使用array_walk(),另一种方法是结合使用next()和key()